-- 计算最终技能（经过属性加成之后的）

return function(target, skillId)
    -- 技能信息
    local info = SkillM.query(skillId)
    local baseSkill = SkillM.findBaseSkill(skillId);
    
    -- 取不到配置信息，直接返回原技能
    if not info then
        return skillId
    end
    
    -- 当前等级
    local curLevel = info.level
    
    -- 对该技能加成的属性
    local prop = PropM.combine(target, "skill_level", baseSkill);
    if SkillM.getRow(skillId).type == USER_SPECIAL then
        -- 专属技能
        prop = PropM.combine(target, "special_level", 1);
    end

    -- 最终等级
    local level = PropM.apply(prop, curLevel);

    -- 返回该等级的技能id
    return SkillM.findSkill(baseSkill, level);
end